// 本地存储 token、状态、有效时间、刷新命令
export const handleLocalStorage = (data) => {
    // alert("获取到本地存储的值:" + JSON.stringify(data))
    localStorage.setItem("TOKEN1", data.access_token);  // 本地存储 token
    localStorage.setItem("TOKEN_TYPE1", data.token_type); // 本地存储 token_type
    localStorage.setItem("REFRESH_TOKEN1", data.refresh_token); // 本地存储 refresh_token 刷新命令
}

// 清除token、清除token_type、有效时间、刷新命令
export const removeToken = () => {
    localStorage.removeItem("TOKEN1");
    localStorage.removeItem("TOKEN_TYPE1");
    localStorage.removeItem("EXPIRES_IN1");
    localStorage.removeItem("REFRESH_TOKEN1");
};

// 获取token
export const getToken = () => {
    return localStorage.getItem("TOKEN1");
};

// 获取token_type
export const getTokenType = () => {
    return localStorage.getItem("TOKEN_TYPE1");
};

// 获取expires_in
export const getExpiresIn = () => {
    return localStorage.getItem("EXPIRES_IN1");
};

// 获取refresh_token
export const getRefreshToken = () => {
    return localStorage.getItem("REFRESH_TOKEN1");
};

// 判断是否距离过期2个小时
export function isRefreshTokenExpired() {
    // 判断token的有效时间;
    let expiresIn = getExpiresIn(); //有效时间
    let new_time = parseInt(new Date().getTime() / 1000); //获取当前时间
    const stamp = expiresIn - new_time; // 距离到期时间
    // alert("计算有效时间中：" + stamp + '-----' + expiresIn + '------' + new_time)
    // return stamp <= 30 * 60 ? true : false; // 30分钟
    return stamp <= 60; // 1分钟
}

// 计算token的有效时间(token有效时间 + 现在时间=有效时间)
export function calculateValidTime(date) {
    // alert("获取到本地存储的有效时间:" + JSON.stringify(date))
    const time = parseInt(new Date().getTime() / 1000); //调用方法时的时间(取当前时间的秒级时间戳)
    const validTime = parseInt(date); //token有效期时间(7200)
    const timeValue = time + validTime; //当前时间+token的有效时间
    // alert("计算出的有效时间:" + timeValue.toString())
    localStorage.setItem("EXPIRES_IN1", timeValue.toString()); // 本地存储 token有效期时间
    // alert("本地存储的有效时间:"+localStorage.getItem('EXPIRES_IN1'))
}
